﻿2026-06-03T23:57:42.6652934Z ##[group]Run ./traceable-reqs lint || true
2026-06-03T23:57:42.6653105Z [36;1m./traceable-reqs lint || true[0m
2026-06-03T23:57:42.6670482Z shell: /usr/bin/bash -e {0}
2026-06-03T23:57:42.6670618Z ##[endgroup]
2026-06-03T23:57:42.6776150Z Requirement quality findings (15); 126 requirements queued for agent review:
2026-06-03T23:57:42.6777694Z   [must] requirement_quality REQ-API-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-03T23:57:42.6778800Z   [must] requirement_quality REQ-HAZARD-DAEMON-SCHED-NONBLOCKING criterion=length — title is 32 words; want 3..=25
2026-06-03T23:57:42.6780359Z   [must] requirement_quality REQ-HAZARD-ENVELOPE-PARSER-SAFE criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-03T23:57:42.6781300Z   [must] requirement_quality REQ-HAZARD-GEN-START-NOW criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-03T23:57:42.6782047Z   [must] requirement_quality REQ-HAZARD-PAIR-RATE-LIMIT criterion=length — title is 37 words; want 3..=25
2026-06-03T23:57:42.6782815Z   [must] requirement_quality REQ-HAZARD-PAIR-SEED-ROTATION criterion=length — title is 33 words; want 3..=25
2026-06-03T23:57:42.6783748Z   [must] requirement_quality REQ-HAZARD-PAIR-TRANSCRIPT-BIND criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-03T23:57:42.6784669Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-03T23:57:42.6785542Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=length — title is 27 words; want 3..=25
2026-06-03T23:57:42.6786111Z   [must] requirement_quality REQ-INST-15 criterion=length — title is 32 words; want 3..=25
2026-06-03T23:57:42.6786674Z   [must] requirement_quality REQ-INSTALL-2 criterion=length — title is 2 word(s); want 3..=25
2026-06-03T23:57:42.6787488Z   [must] requirement_quality REQ-MANIFEST-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-03T23:57:42.6788382Z   [must] requirement_quality REQ-MIGRATE-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-03T23:57:42.6789276Z   [must] requirement_quality REQ-SEAM-SPAWN criterion=length — title is 2 word(s); want 3..=25
2026-06-03T23:57:42.6790080Z   [must] requirement_quality REQ-STORE-1 criterion=length — title is 34 words; want 3..=25
2026-06-03T23:57:42.6790104Z 
2026-06-03T23:57:42.6795368Z # Requirement quality review
2026-06-03T23:57:42.6795618Z 
2026-06-03T23:57:42.6796123Z You are reviewing 126 requirement(s) from `traceable-reqs.toml` against a quality
2026-06-03T23:57:42.6796587Z rubric. Deterministic checks (length, contains-and, tbd-todo, duplicate-titles,
2026-06-03T23:57:42.6797047Z trailing-etc) have already run and surfaced as `requirement_quality` findings on
2026-06-03T23:57:42.6797387Z this command's output. Your task is the rubric items below.
2026-06-03T23:57:42.6797473Z 
2026-06-03T23:57:42.6797644Z ## Rubric
2026-06-03T23:57:42.6797663Z 
2026-06-03T23:57:42.6798362Z - **singular** — describes one capability; no smuggled "and"/"or" across distinct actions.
2026-06-03T23:57:42.6798958Z - **verifiable** — states an observable behavior a test or reviewer could confirm.
2026-06-03T23:57:42.6799720Z - **atomic** — cannot be split into two requirements without losing meaning.
2026-06-03T23:57:42.6800087Z - **active-voice** — clear subject and active verb.
2026-06-03T23:57:42.6800107Z 
2026-06-03T23:57:42.6800646Z If a criterion is borderline or doesn't apply, abstain — only emit findings for
2026-06-03T23:57:42.6800846Z clear concerns.
2026-06-03T23:57:42.6800864Z 
2026-06-03T23:57:42.6801058Z ## Requirements
2026-06-03T23:57:42.6801076Z 
2026-06-03T23:57:42.6801259Z ### REQ-ARCH-1
2026-06-03T23:57:42.6801495Z - Title: Many small acyclically-layered crates
2026-06-03T23:57:42.6801682Z - Required stages: impl
2026-06-03T23:57:42.6801698Z 
2026-06-03T23:57:42.6801862Z ### REQ-ARCH-2
2026-06-03T23:57:42.6802742Z - Title: Public SDK surface is spt-proto, spt-runtime, spt-msg
2026-06-03T23:57:42.6803372Z - Required stages: impl
2026-06-03T23:57:42.6803620Z 
2026-06-03T23:57:42.6803859Z ### REQ-ARCH-3
2026-06-03T23:57:42.6804465Z - Title: Wire-protocol version independent of crate semver, N-1 compat window
2026-06-03T23:57:42.6805393Z - Required stages: impl, unit
2026-06-03T23:57:42.6805657Z 
2026-06-03T23:57:42.6805806Z ### REQ-ARCH-4
2026-06-03T23:57:42.6806285Z - Title: Copy-verbatim the commodity layer from the sister project
2026-06-03T23:57:42.6806914Z - Required stages: impl, unit
2026-06-03T23:57:42.6807225Z 
2026-06-03T23:57:42.6807384Z ### REQ-DAEMON-1
2026-06-03T23:57:42.6807952Z - Title: One per-machine spt-daemon owning all per-machine state
2026-06-03T23:57:42.6808604Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6808950Z 
2026-06-03T23:57:42.6809130Z ### REQ-DAEMON-2
2026-06-03T23:57:42.6809640Z - Title: Broker/brain split for seamless self-update
2026-06-03T23:57:42.6810305Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6810648Z 
2026-06-03T23:57:42.6810835Z ### REQ-DAEMON-3
2026-06-03T23:57:42.6811411Z - Title: Any api invocation auto-starts the daemon if absent
2026-06-03T23:57:42.6812064Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6812398Z 
2026-06-03T23:57:42.6812613Z ### REQ-DAEMON-4
2026-06-03T23:57:42.6813100Z - Title: Honor every KNOWN-HAZARDS invariant
2026-06-03T23:57:42.6813661Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6813975Z 
2026-06-03T23:57:42.6814150Z ### REQ-STORE-1
2026-06-03T23:57:42.6816979Z - Title: spt-store::BranchStore (git branch as versioned KV; commit=checkpoint/tip=resume, atomic multi-key, merge-native sync) is the substrate for coarse/durable/audited state (context, registry snapshot+distribution, daemon checkpoint); hot paths (B5 fsync journal) + indexed queries (SQLite spool) excluded (ADR-0011)
2026-06-03T23:57:42.6818420Z - Required stages: 
2026-06-03T23:57:42.6818602Z 
2026-06-03T23:57:42.6818734Z ### REQ-MANIFEST-1
2026-06-03T23:57:42.6819124Z - Title: Per-adapter manifest with adapter_name and min_spt_core_version
2026-06-03T23:57:42.6819567Z - Required stages: doc, impl, unit
2026-06-03T23:57:42.6819904Z 
2026-06-03T23:57:42.6820042Z ### REQ-SEAM-SPAWN
2026-06-03T23:57:42.6820325Z - Title: spawn-session seam
2026-06-03T23:57:42.6820636Z - Required stages: impl, unit
2026-06-03T23:57:42.6820834Z 
2026-06-03T23:57:42.6820962Z ### REQ-SEAM-POSTSPAWN
2026-06-03T23:57:42.6821292Z - Title: post-spawn / api bind seam with boot nonce
2026-06-03T23:57:42.6821669Z - Required stages: impl, unit
2026-06-03T23:57:42.6821857Z 
2026-06-03T23:57:42.6821983Z ### REQ-SEAM-PSYCHE
2026-06-03T23:57:42.6822302Z - Title: spawn-psyche seam (fresh + resume templates)
2026-06-03T23:57:42.6822675Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6822878Z 
2026-06-03T23:57:42.6822991Z ### REQ-SEAM-HISTORY
2026-06-03T23:57:42.6823365Z - Title: History subsystem (fetcher / locate-normalize / native store)
2026-06-03T23:57:42.6823796Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6823997Z 
2026-06-03T23:57:42.6824120Z ### REQ-SEAM-ACTIVITY
2026-06-03T23:57:42.6824493Z - Title: Activity/idle reported via api sentinels, not PTY quiescence
2026-06-03T23:57:42.6824923Z - Required stages: impl, unit
2026-06-03T23:57:42.6825438Z 
2026-06-03T23:57:42.6825632Z ### REQ-SEAM-INJECT
2026-06-03T23:57:42.6826028Z - Title: inject-input methods configurable per activity-state
2026-06-03T23:57:42.6826428Z - Required stages: impl, unit
2026-06-03T23:57:42.6826617Z 
2026-06-03T23:57:42.6826728Z ### REQ-SEAM-RESUME
2026-06-03T23:57:42.6827108Z - Title: resume-session seam (fresh-with-preload / continue-existing)
2026-06-03T23:57:42.6827531Z - Required stages: impl, unit
2026-06-03T23:57:42.6827712Z 
2026-06-03T23:57:42.6827840Z ### REQ-SEAM-CAPABILITY
2026-06-03T23:57:42.6828190Z - Title: Hostable endpoint-types capability declaration
2026-06-03T23:57:42.6828564Z - Required stages: impl, unit
2026-06-03T23:57:42.6828751Z 
2026-06-03T23:57:42.6828994Z ### REQ-SEAM-UPDATE
2026-06-03T23:57:42.6829347Z - Title: Adapter-update avenue (file-pull / delegated command)
2026-06-03T23:57:42.6829762Z - Required stages: impl, unit
2026-06-03T23:57:42.6829958Z 
2026-06-03T23:57:42.6830075Z ### REQ-API-1
2026-06-03T23:57:42.6830425Z - Title: api prefix and adapter_name on every machinery invocation
2026-06-03T23:57:42.6830836Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6831037Z 
2026-06-03T23:57:42.6831146Z ### REQ-API-2
2026-06-03T23:57:42.6831538Z - Title: The api subcommand surface (bind/listen/poll/state/worker/boundary/...)
2026-06-03T23:57:42.6831999Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6832207Z 
2026-06-03T23:57:42.6832321Z ### REQ-API-3
2026-06-03T23:57:42.6832630Z - Title: commune/signoff are file-drops, not commands
2026-06-03T23:57:42.6833006Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6833201Z 
2026-06-03T23:57:42.6833319Z ### REQ-START-1
2026-06-03T23:57:42.6833707Z - Title: Adapters never resolve SPT_HOME; binary on PATH; api bridging only
2026-06-03T23:57:42.6834150Z - Required stages: impl, unit
2026-06-03T23:57:42.6834346Z 
2026-06-03T23:57:42.6834457Z ### REQ-START-2
2026-06-03T23:57:42.6834785Z - Title: Harness-hosted startup: api seed then listen
2026-06-03T23:57:42.6835324Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6835523Z 
2026-06-03T23:57:42.6835646Z ### REQ-START-3
2026-06-03T23:57:42.6836006Z - Title: spt-hosted startup: spawn-session then api bind (no file)
2026-06-03T23:57:42.6836425Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6836629Z 
2026-06-03T23:57:42.6836737Z ### REQ-START-4
2026-06-03T23:57:42.6837055Z - Title: Adapter-injected env aliases (SPT/OWL/LIVE)
2026-06-03T23:57:42.6837428Z - Required stages: impl, unit
2026-06-03T23:57:42.6837614Z 
2026-06-03T23:57:42.6837729Z ### REQ-EP-1
2026-06-03T23:57:42.6838023Z - Title: Day-one endpoint types; open type system
2026-06-03T23:57:42.6838382Z - Required stages: impl, unit
2026-06-03T23:57:42.6838582Z 
2026-06-03T23:57:42.6838686Z ### REQ-EP-2
2026-06-03T23:57:42.6839025Z - Title: Agent endpoints vs Shells distinction in the type model
2026-06-03T23:57:42.6839424Z - Required stages: impl, unit
2026-06-03T23:57:42.6839708Z 
2026-06-03T23:57:42.6839823Z ### REQ-EP-3
2026-06-03T23:57:42.6840181Z - Title: Messaging payloads carry typed operation commands + file blobs
2026-06-03T23:57:42.6840609Z - Required stages: impl, unit
2026-06-03T23:57:42.6840794Z 
2026-06-03T23:57:42.6840908Z ### REQ-EP-4
2026-06-03T23:57:42.6841218Z - Title: PresenceChannel broker endpoint (seam day-one)
2026-06-03T23:57:42.6841587Z - Required stages: 
2026-06-03T23:57:42.6841751Z 
2026-06-03T23:57:42.6841857Z ### REQ-EP-5
2026-06-03T23:57:42.6842812Z - Title: Concrete shell instantiation model: spawn-mints-instance (vs relink/online), registered-on-node permission + broadcast-is-discovery, per-shell require_approval gate, max_instances_per_owner + over_cap, instance aliasing, discovery scope
2026-06-03T23:57:42.6843812Z - Required stages: 
2026-06-03T23:57:42.6843974Z 
2026-06-03T23:57:42.6844091Z ### REQ-INST-1
2026-06-03T23:57:42.6844426Z - Title: endpoint ID vs instance split (adapter-agnostic ID)
2026-06-03T23:57:42.6844813Z - Required stages: 
2026-06-03T23:57:42.6845104Z 
2026-06-03T23:57:42.6845246Z ### REQ-INST-2
2026-06-03T23:57:42.6845539Z - Title: Per-node files, synced Psyche mind
2026-06-03T23:57:42.6845883Z - Required stages: 
2026-06-03T23:57:42.6846036Z 
2026-06-03T23:57:42.6846151Z ### REQ-INST-3
2026-06-03T23:57:42.6846476Z - Title: Dormant (warm) / suspended (cold) resting states
2026-06-03T23:57:42.6846840Z - Required stages: 
2026-06-03T23:57:42.6847001Z 
2026-06-03T23:57:42.6847110Z ### REQ-INST-4
2026-06-03T23:57:42.6847468Z - Title: active to dormant/suspended fires a transition echo commune
2026-06-03T23:57:42.6847876Z - Required stages: 
2026-06-03T23:57:42.6848037Z 
2026-06-03T23:57:42.6848156Z ### REQ-INST-5
2026-06-03T23:57:42.6848515Z - Title: Two-tier context sync (live to all, project to same-project)
2026-06-03T23:57:42.6849053Z - Required stages: 
2026-06-03T23:57:42.6849208Z 
2026-06-03T23:57:42.6849333Z ### REQ-INST-6
2026-06-03T23:57:42.6849699Z - Title: Deferred messages not delivered to dormant/suspended instances
2026-06-03T23:57:42.6850131Z - Required stages: 
2026-06-03T23:57:42.6850301Z 
2026-06-03T23:57:42.6850412Z ### REQ-INST-7
2026-06-03T23:57:42.6850730Z - Title: Subnet registry + bare-id resolution policy
2026-06-03T23:57:42.6851114Z - Required stages: impl, unit
2026-06-03T23:57:42.6851299Z 
2026-06-03T23:57:42.6851416Z ### REQ-INST-8
2026-06-03T23:57:42.6851743Z - Title: Remote-control mode distinct from local operation
2026-06-03T23:57:42.6852116Z - Required stages: 
2026-06-03T23:57:42.6852276Z 
2026-06-03T23:57:42.6852384Z ### REQ-INST-9
2026-06-03T23:57:42.6852748Z - Title: Multi-subnet membership (same-user N subnets; cross-user seam)
2026-06-03T23:57:42.6853172Z - Required stages: impl, unit
2026-06-03T23:57:42.6853364Z 
2026-06-03T23:57:42.6853478Z ### REQ-INST-10
2026-06-03T23:57:42.6853887Z - Title: Qualified addressing [subnet:]id[@node] + ambiguity forces qualification
2026-06-03T23:57:42.6854342Z - Required stages: impl, unit
2026-06-03T23:57:42.6854526Z 
2026-06-03T23:57:42.6854647Z ### REQ-INST-11
2026-06-03T23:57:42.6855216Z - Title: spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)
2026-06-03T23:57:42.6855690Z - Required stages: impl, unit
2026-06-03T23:57:42.6855886Z 
2026-06-03T23:57:42.6855994Z ### REQ-INST-12
2026-06-03T23:57:42.6856500Z - Title: Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync
2026-06-03T23:57:42.6857051Z - Required stages: impl, unit
2026-06-03T23:57:42.6857240Z 
2026-06-03T23:57:42.6857355Z ### REQ-INST-13
2026-06-03T23:57:42.6857716Z - Title: Subnet-exclusive sync + per-endpoint subnet-membership list
2026-06-03T23:57:42.6858142Z - Required stages: impl, unit
2026-06-03T23:57:42.6858332Z 
2026-06-03T23:57:42.6858441Z ### REQ-INST-14
2026-06-03T23:57:42.6859045Z - Title: Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated
2026-06-03T23:57:42.6859698Z - Required stages: 
2026-06-03T23:57:42.6859938Z 
2026-06-03T23:57:42.6860054Z ### REQ-INST-15
2026-06-03T23:57:42.6861091Z - Title: Immutable home subnet (assigned at creation: auto-if-one/ask-if-many) + spt fork (cross-subnet clone to a new identity, copy-then-diverge, not re-home); adapter chosen at creation from registered hostable adapters, changed only via launch/resume-under-new (ADR-0010)
2026-06-03T23:57:42.6862147Z - Required stages: 
2026-06-03T23:57:42.6862311Z 
2026-06-03T23:57:42.6862420Z ### REQ-REACH-1
2026-06-03T23:57:42.6862750Z - Title: Off-node remote-drive detection + file transfer
2026-06-03T23:57:42.6863120Z - Required stages: 
2026-06-03T23:57:42.6863275Z 
2026-06-03T23:57:42.6863387Z ### REQ-REACH-2
2026-06-03T23:57:42.6863721Z - Title: Remote command execution (deferred, consent-gated)
2026-06-03T23:57:42.6864103Z - Required stages: 
2026-06-03T23:57:42.6864272Z 
2026-06-03T23:57:42.6864380Z ### REQ-MSG-1
2026-06-03T23:57:42.6865270Z - Title: Local message delivery: TCP-first to a registered address, spool fallback when offline; id->address via registry (stale-clean first); reply routing (__REPLY_TO__)
2026-06-03T23:57:42.6866042Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6866246Z 
2026-06-03T23:57:42.6866363Z ### REQ-MSG-2
2026-06-03T23:57:42.6866832Z - Title: spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes
2026-06-03T23:57:42.6867358Z - Required stages: impl, unit
2026-06-03T23:57:42.6867555Z 
2026-06-03T23:57:42.6867661Z ### REQ-MSG-3
2026-06-03T23:57:42.6868281Z - Title: Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown
2026-06-03T23:57:42.6868939Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6869143Z 
2026-06-03T23:57:42.6869261Z ### REQ-NODE-IDENTITY
2026-06-03T23:57:42.6869785Z - Title: Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex
2026-06-03T23:57:42.6870269Z - Required stages: impl, unit
2026-06-03T23:57:42.6870465Z 
2026-06-03T23:57:42.6870587Z ### REQ-NET-1
2026-06-03T23:57:42.6870952Z - Title: WAN messaging first-class, behind default-on net feature flag
2026-06-03T23:57:42.6871378Z - Required stages: impl, unit
2026-06-03T23:57:42.6871562Z 
2026-06-03T23:57:42.6871680Z ### REQ-NET-2
2026-06-03T23:57:42.6872033Z - Title: n0 relay default + self-host knob + plain-language disclosure
2026-06-03T23:57:42.6872440Z - Required stages: impl
2026-06-03T23:57:42.6872618Z 
2026-06-03T23:57:42.6872724Z ### REQ-NET-3
2026-06-03T23:57:42.6873067Z - Title: Cross-node Psyche sync over P2P replaces gh-repo-sync
2026-06-03T23:57:42.6873457Z - Required stages: 
2026-06-03T23:57:42.6873610Z 
2026-06-03T23:57:42.6873726Z ### REQ-PAIR-1
2026-06-03T23:57:42.6874002Z - Title: TOTP-seeded SPAKE2 pairing
2026-06-03T23:57:42.6874325Z - Required stages: impl, unit
2026-06-03T23:57:42.6874519Z 
2026-06-03T23:57:42.6874627Z ### REQ-PAIR-2
2026-06-03T23:57:42.6875043Z - Title: Local trust store with TOFU + warn-on-change
2026-06-03T23:57:42.6875453Z - Required stages: impl, unit
2026-06-03T23:57:42.6875650Z 
2026-06-03T23:57:42.6875764Z ### REQ-PAIR-3
2026-06-03T23:57:42.6876082Z - Title: Fetch current pairing code from any paired node
2026-06-03T23:57:42.6876458Z - Required stages: impl, unit
2026-06-03T23:57:42.6876646Z 
2026-06-03T23:57:42.6876754Z ### REQ-PAIR-4
2026-06-03T23:57:42.6877027Z - Title: Subnet naming on first pairing
2026-06-03T23:57:42.6877355Z - Required stages: impl, unit
2026-06-03T23:57:42.6877547Z 
2026-06-03T23:57:42.6877665Z ### REQ-PAIR-5
2026-06-03T23:57:42.6878178Z - Title: Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing
2026-06-03T23:57:42.6878751Z - Required stages: impl, unit
2026-06-03T23:57:42.6878933Z 
2026-06-03T23:57:42.6879051Z ### REQ-PAIR-6
2026-06-03T23:57:42.6879513Z - Title: Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)
2026-06-03T23:57:42.6880035Z - Required stages: impl, unit
2026-06-03T23:57:42.6880227Z 
2026-06-03T23:57:42.6880423Z ### REQ-PAIR-7
2026-06-03T23:57:42.6880772Z - Title: Subnet icon (inline image metadata, GUI-only consumer)
2026-06-03T23:57:42.6881166Z - Required stages: 
2026-06-03T23:57:42.6881323Z 
2026-06-03T23:57:42.6881437Z ### REQ-SEC-1
2026-06-03T23:57:42.6882063Z - Title: Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants
2026-06-03T23:57:42.6882732Z - Required stages: 
2026-06-03T23:57:42.6882901Z 
2026-06-03T23:57:42.6883010Z ### REQ-NOTIF-1
2026-06-03T23:57:42.6883592Z - Title: Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts
2026-06-03T23:57:42.6884224Z - Required stages: 
2026-06-03T23:57:42.6884407Z 
2026-06-03T23:57:42.6884524Z ### REQ-NOTIF-2
2026-06-03T23:57:42.6885155Z - Title: spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)
2026-06-03T23:57:42.6885679Z - Required stages: 
2026-06-03T23:57:42.6885864Z 
2026-06-03T23:57:42.6885975Z ### REQ-UPD-1
2026-06-03T23:57:42.6886257Z - Title: Peer-propagated update over P2P
2026-06-03T23:57:42.6886589Z - Required stages: 
2026-06-03T23:57:42.6886757Z 
2026-06-03T23:57:42.6886871Z ### REQ-UPD-2
2026-06-03T23:57:42.6887187Z - Title: All binaries signature-verified before handoff
2026-06-03T23:57:42.6887568Z - Required stages: impl, unit
2026-06-03T23:57:42.6887757Z 
2026-06-03T23:57:42.6887875Z ### REQ-UPD-3
2026-06-03T23:57:42.6888219Z - Title: No endpoint process terminates/suspends during self-update
2026-06-03T23:57:42.6888639Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6888845Z 
2026-06-03T23:57:42.6888951Z ### REQ-UPD-4
2026-06-03T23:57:42.6889312Z - Title: Update gated on user confirmation by default; opt-in full-auto
2026-06-03T23:57:42.6889822Z - Required stages: impl, unit
2026-06-03T23:57:42.6890008Z 
2026-06-03T23:57:42.6890120Z ### REQ-UPD-5
2026-06-03T23:57:42.6890428Z - Title: spt-core ripple-updates registered adapters
2026-06-03T23:57:42.6890808Z - Required stages: impl, unit
2026-06-03T23:57:42.6891001Z 
2026-06-03T23:57:42.6891111Z ### REQ-TERM-1
2026-06-03T23:57:42.6891465Z - Title: Process-supervisor terminal wrapper hosting broker PTYs
2026-06-03T23:57:42.6891880Z - Required stages: impl, unit
2026-06-03T23:57:42.6892067Z 
2026-06-03T23:57:42.6892181Z ### REQ-TERM-2
2026-06-03T23:57:42.6892535Z - Title: session-surface abstraction; send-keys + send-line injection
2026-06-03T23:57:42.6892960Z - Required stages: impl, unit
2026-06-03T23:57:42.6893149Z 
2026-06-03T23:57:42.6893255Z ### REQ-TERM-3
2026-06-03T23:57:42.6893568Z - Title: Byte-stream remote terminal streaming for v1
2026-06-03T23:57:42.6893936Z - Required stages: impl, unit
2026-06-03T23:57:42.6894125Z 
2026-06-03T23:57:42.6894241Z ### REQ-TERM-4
2026-06-03T23:57:42.6894814Z - Title: Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log
2026-06-03T23:57:42.6895594Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6895802Z 
2026-06-03T23:57:42.6895929Z ### REQ-FRONT-1
2026-06-03T23:57:42.6896284Z - Title: Day-one launcher/manager frontend (list/launch/attach/init)
2026-06-03T23:57:42.6896690Z - Required stages: 
2026-06-03T23:57:42.6896860Z 
2026-06-03T23:57:42.6896973Z ### REQ-INSTALL-1
2026-06-03T23:57:42.6897364Z - Title: Two install paths; signed one-line script; OS-service registration
2026-06-03T23:57:42.6897792Z - Required stages: 
2026-06-03T23:57:42.6897951Z 
2026-06-03T23:57:42.6898069Z ### REQ-INSTALL-2
2026-06-03T23:57:42.6898384Z - Title: Marketplace-repackaging-friendly install
2026-06-03T23:57:42.6898749Z - Required stages: 
2026-06-03T23:57:42.6898905Z 
2026-06-03T23:57:42.6899015Z ### REQ-INSTALL-3
2026-06-03T23:57:42.6899335Z - Title: Idempotent + interactive-optional first run
2026-06-03T23:57:42.6899708Z - Required stages: 
2026-06-03T23:57:42.6899858Z 
2026-06-03T23:57:42.6899976Z ### REQ-INSTALL-4
2026-06-03T23:57:42.6900895Z - Title: Adapter registration lifecycle: spt adapter add (--github, manifest-first, install-is-first-update) + soft-deregister remove + optional manifest uninstall template; node-local registered-adapter set self-update ripples over
2026-06-03T23:57:42.6901974Z - Required stages: 
2026-06-03T23:57:42.6902140Z 
2026-06-03T23:57:42.6902251Z ### REQ-MIGRATE-1
2026-06-03T23:57:42.6902601Z - Title: Auto-detect and migrate a legacy claude_skill_owl install
2026-06-03T23:57:42.6902992Z - Required stages: 
2026-06-03T23:57:42.6903149Z 
2026-06-03T23:57:42.6903268Z ### REQ-INFRA-1
2026-06-03T23:57:42.6903624Z - Title: GitHub issue tracking for v1; tangled.org as migration target
2026-06-03T23:57:42.6904029Z - Required stages: 
2026-06-03T23:57:42.6904186Z 
2026-06-03T23:57:42.6904292Z ### REQ-DOCS-1
2026-06-03T23:57:42.6904675Z - Title: Dual-audience docs (human + AI dev-agent), markdown once / two depths
2026-06-03T23:57:42.6905297Z - Required stages: 
2026-06-03T23:57:42.6905470Z 
2026-06-03T23:57:42.6905578Z ### REQ-DOCS-2
2026-06-03T23:57:42.6905925Z - Title: Sub-10-minute runnable killer quickstart per audience
2026-06-03T23:57:42.6906316Z - Required stages: 
2026-06-03T23:57:42.6906468Z 
2026-06-03T23:57:42.6906583Z ### REQ-DOCS-3
2026-06-03T23:57:42.6907036Z - Title: Diátaxis structure; one canonical way to do X
2026-06-03T23:57:42.6907403Z - Required stages: 
2026-06-03T23:57:42.6907562Z 
2026-06-03T23:57:42.6907670Z ### REQ-DOCS-4
2026-06-03T23:57:42.6908045Z - Title: Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)
2026-06-03T23:57:42.6908484Z - Required stages: 
2026-06-03T23:57:42.6908636Z 
2026-06-03T23:57:42.6908749Z ### REQ-DOCS-5
2026-06-03T23:57:42.6909132Z - Title: Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked
2026-06-03T23:57:42.6909563Z - Required stages: 
2026-06-03T23:57:42.6909723Z 
2026-06-03T23:57:42.6909865Z ### REQ-HAZARD-GRACE-BEFORE-SIGNOFF
2026-06-03T23:57:42.6910412Z - Title: Grace-period wait completes before composing INIT_SIGNOFF (1.1)
2026-06-03T23:57:42.6910851Z - Required stages: impl, unit
2026-06-03T23:57:42.6911075Z 
2026-06-03T23:57:42.6911227Z ### REQ-HAZARD-INFO-JSON-TORN-READ
2026-06-03T23:57:42.6911615Z - Title: State-file reads tolerate concurrent writes (1.2)
2026-06-03T23:57:42.6912003Z - Required stages: impl, unit
2026-06-03T23:57:42.6912193Z 
2026-06-03T23:57:42.6912340Z ### REQ-HAZARD-STALE-INDEX-LOCK
2026-06-03T23:57:42.6912694Z - Title: Sweep stale lockfiles on daemon boot (1.3)
2026-06-03T23:57:42.6913050Z - Required stages: 
2026-06-03T23:57:42.6913208Z 
2026-06-03T23:57:42.6913346Z ### REQ-HAZARD-DEFERRED-DRAIN
2026-06-03T23:57:42.6913760Z - Title: Deferred spool rows excluded from the event-stream drain (1.4)
2026-06-03T23:57:42.6914184Z - Required stages: impl, unit
2026-06-03T23:57:42.6914370Z 
2026-06-03T23:57:42.6914508Z ### REQ-HAZARD-WORKER-PATH
2026-06-03T23:57:42.6914906Z - Title: Single source of truth for Worker/Psyche perch location (1.5)
2026-06-03T23:57:42.6915504Z - Required stages: impl, unit
2026-06-03T23:57:42.6915709Z 
2026-06-03T23:57:42.6915857Z ### REQ-HAZARD-PARENT-PID-PREFER
2026-06-03T23:57:42.6916301Z - Title: Prefer stable parent PID / broker handle over ephemeral PID (2.1)
2026-06-03T23:57:42.6916746Z - Required stages: 
2026-06-03T23:57:42.6916903Z 
2026-06-03T23:57:42.6917048Z ### REQ-HAZARD-STDIN-SESSION-ID
2026-06-03T23:57:42.6917402Z - Title: Stdin session_id precedence over env (2.2)
2026-06-03T23:57:42.6917758Z - Required stages: 
2026-06-03T23:57:42.6917920Z 
2026-06-03T23:57:42.6918058Z ### REQ-HAZARD-HANDOFF-ARGV-COMPAT
2026-06-03T23:57:42.6918457Z - Title: Broker/brain IPC + handoff argv version-tolerant (2.3)
2026-06-03T23:57:42.6918856Z - Required stages: impl, unit
2026-06-03T23:57:42.6919046Z 
2026-06-03T23:57:42.6919181Z ### REQ-HAZARD-GEN-START-NOW
2026-06-03T23:57:42.6919543Z - Title: gen_start = now() on cold-start and handoff (2.4)
2026-06-03T23:57:42.6919925Z - Required stages: impl, int
2026-06-03T23:57:42.6920105Z 
2026-06-03T23:57:42.6920249Z ### REQ-HAZARD-EPHEMERAL-CLEANUP
2026-06-03T23:57:42.6920643Z - Title: Ephemeral perch cleanup on every ring exit path (3.1)
2026-06-03T23:57:42.6921127Z - Required stages: impl, unit
2026-06-03T23:57:42.6921318Z 
2026-06-03T23:57:42.6921462Z ### REQ-HAZARD-STALE-SIGNOFF-SENTINEL
2026-06-03T23:57:42.6921884Z - Title: Stale signoff sentinel does not kill a fresh start (3.2)
2026-06-03T23:57:42.6922281Z - Required stages: impl, unit
2026-06-03T23:57:42.6922463Z 
2026-06-03T23:57:42.6922609Z ### REQ-HAZARD-ECHO-BEFORE-SIGNOFF
2026-06-03T23:57:42.6923032Z - Title: Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)
2026-06-03T23:57:42.6923461Z - Required stages: impl, unit
2026-06-03T23:57:42.6923655Z 
2026-06-03T23:57:42.6923799Z ### REQ-HAZARD-ENVELOPE-DECODE-ORDER
2026-06-03T23:57:42.6924197Z - Title: Envelope decode order, ampersand decoded last (4.1)
2026-06-03T23:57:42.6924589Z - Required stages: impl, unit
2026-06-03T23:57:42.6924781Z 
2026-06-03T23:57:42.6925062Z ### REQ-HAZARD-ENVELOPE-PARSER-SAFE
2026-06-03T23:57:42.6925512Z - Title: Two-slice envelope parser is panic-free and tolerant (4.2)
2026-06-03T23:57:42.6925939Z - Required stages: impl, unit
2026-06-03T23:57:42.6926134Z 
2026-06-03T23:57:42.6926276Z ### REQ-HAZARD-EVENTPART-REASSEMBLY
2026-06-03T23:57:42.6926742Z - Title: EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently
2026-06-03T23:57:42.6927221Z - Required stages: impl, unit
2026-06-03T23:57:42.6927406Z 
2026-06-03T23:57:42.6927542Z ### REQ-HAZARD-ID-CHARSET
2026-06-03T23:57:42.6928021Z - Title: Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)
2026-06-03T23:57:42.6928526Z - Required stages: impl, unit
2026-06-03T23:57:42.6928718Z 
2026-06-03T23:57:42.6928859Z ### REQ-HAZARD-REGISTRY-STALE-CLEAN
2026-06-03T23:57:42.6929294Z - Title: Stale registry entries degrade to fallback, never hard-fail (4.3)
2026-06-03T23:57:42.6929814Z - Required stages: impl, unit
2026-06-03T23:57:42.6930003Z 
2026-06-03T23:57:42.6930149Z ### REQ-HAZARD-REGISTRY-CONCURRENT
2026-06-03T23:57:42.6930657Z - Title: Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)
2026-06-03T23:57:42.6931180Z - Required stages: impl, unit
2026-06-03T23:57:42.6931365Z 
2026-06-03T23:57:42.6931513Z ### REQ-HAZARD-REGISTRY-EPOCH-LEASE
2026-06-03T23:57:42.6932307Z - Title: Registry merge ordered by per-node monotonic epoch, never wall-clock — a stale Active can't clobber a newer Offline (4.8, red-team #8)
2026-06-03T23:57:42.6932962Z - Required stages: impl, unit
2026-06-03T23:57:42.6933160Z 
2026-06-03T23:57:42.6933316Z ### REQ-HAZARD-DEFERRED-SURVIVE-DRAIN
2026-06-03T23:57:42.6933691Z - Title: Deferred rows survive poll drain (4.4)
2026-06-03T23:57:42.6934053Z - Required stages: impl, unit
2026-06-03T23:57:42.6934238Z 
2026-06-03T23:57:42.6934381Z ### REQ-HAZARD-INBOX-NO-DOUBLE
2026-06-03T23:57:42.6934738Z - Title: No double-delivery via legacy inbox (4.5)
2026-06-03T23:57:42.6935202Z - Required stages: impl, unit
2026-06-03T23:57:42.6935394Z 
2026-06-03T23:57:42.6935532Z ### REQ-HAZARD-WINDOWS-PID-RECYCLE
2026-06-03T23:57:42.6935964Z - Title: Windows PID-recycling false positives guarded (5.1)
2026-06-03T23:57:42.6936354Z - Required stages: impl, unit
2026-06-03T23:57:42.6936538Z 
2026-06-03T23:57:42.6936671Z ### REQ-HAZARD-EBUSY-RENAME
2026-06-03T23:57:42.6937056Z - Title: tmp-write + atomic-rename + retry on Windows EBUSY (5.2)
2026-06-03T23:57:42.6937470Z - Required stages: impl, unit
2026-06-03T23:57:42.6937667Z 
2026-06-03T23:57:42.6937802Z ### REQ-HAZARD-SUBPROCESS-TIMEOUT
2026-06-03T23:57:42.6938176Z - Title: Every harness/git subprocess has a timeout (5.3)
2026-06-03T23:57:42.6938561Z - Required stages: impl, unit
2026-06-03T23:57:42.6938741Z 
2026-06-03T23:57:42.6938874Z ### REQ-HAZARD-UNC-PATH-STRIP
2026-06-03T23:57:42.6939246Z - Title: Strip Windows UNC prefix on serialized paths (5.4)
2026-06-03T23:57:42.6939630Z - Required stages: impl, unit
2026-06-03T23:57:42.6939826Z 
2026-06-03T23:57:42.6939965Z ### REQ-HAZARD-SINGLE-PATH-SOURCE
2026-06-03T23:57:42.6940392Z - Title: Single path/registry source of truth; no layout ambiguity (6.1)
2026-06-03T23:57:42.6940897Z - Required stages: impl, unit
2026-06-03T23:57:42.6941089Z 
2026-06-03T23:57:42.6941225Z ### REQ-HAZARD-SOFT-CLEANUP
2026-06-03T23:57:42.6941635Z - Title: Soft-cleanup preserves state, removes only the ready marker (6.2)
2026-06-03T23:57:42.6942071Z - Required stages: impl, unit
2026-06-03T23:57:42.6942255Z 
2026-06-03T23:57:42.6942396Z ### REQ-HAZARD-CASCADE-WIPE-GUARD
2026-06-03T23:57:42.6942807Z - Title: No hard-delete of a parent hosting non-empty children (6.3)
2026-06-03T23:57:42.6943218Z - Required stages: impl, unit
2026-06-03T23:57:42.6943408Z 
2026-06-03T23:57:42.6943554Z ### REQ-HAZARD-DROP-FILE-SINGLE-WRITER
2026-06-03T23:57:42.6943957Z - Title: Drop files are daemon-owned single-writer (6.4)
2026-06-03T23:57:42.6944338Z - Required stages: impl, unit
2026-06-03T23:57:42.6944526Z 
2026-06-03T23:57:42.6944680Z ### REQ-HAZARD-DIRECT-WRITE-PRECEDENCE
2026-06-03T23:57:42.6945239Z - Title: Direct-write precedence marker (with node id) guards stale overwrite (6.5)
2026-06-03T23:57:42.6945741Z - Required stages: impl, unit
2026-06-03T23:57:42.6945931Z 
2026-06-03T23:57:42.6946061Z ### REQ-HAZARD-CONPTY-DSR
2026-06-03T23:57:42.6946497Z - Title: ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)
2026-06-03T23:57:42.6946971Z - Required stages: impl, unit
2026-06-03T23:57:42.6947154Z 
2026-06-03T23:57:42.6947293Z ### REQ-HAZARD-LOCAL-API-AUTH
2026-06-03T23:57:42.6947738Z - Title: Every local `api` mutation authenticated to an endpoint/session (codex #13)
2026-06-03T23:57:42.6948193Z - Required stages: impl, unit
2026-06-03T23:57:42.6948386Z 
2026-06-03T23:57:42.6948527Z ### REQ-HAZARD-RESTART-IDEMPOTENT
2026-06-03T23:57:42.6949060Z - Title: Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)
2026-06-03T23:57:42.6949670Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6949868Z 
2026-06-03T23:57:42.6950014Z ### REQ-HAZARD-UPDATE-ROLLBACK
2026-06-03T23:57:42.6950516Z - Title: Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)
2026-06-03T23:57:42.6951035Z - Required stages: impl, unit
2026-06-03T23:57:42.6951227Z 
2026-06-03T23:57:42.6951375Z ### REQ-HAZARD-DAEMON-HOSTED-LIVENESS
2026-06-03T23:57:42.6952103Z - Title: Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + info.json status, never is_process_alive(info.pid) (2.5)
2026-06-03T23:57:42.6952822Z - Required stages: impl, unit, int
2026-06-03T23:57:42.6953028Z 
2026-06-03T23:57:42.6953179Z ### REQ-HAZARD-PSYCHE-OUTBOUND-PROXY
2026-06-03T23:57:42.6954464Z - Title: Psyche outbound captured + sanitized: the live-Psyche turn driver captures stdout (never Stdio::null), and the daemon strips/re-stamps Psyche-supplied from=/target and constrains routing (reply→__REPLY_TO__ sender, notify→own user/subnet) (7.3)
2026-06-03T23:57:42.6955551Z - Required stages: 
2026-06-03T23:57:42.6955720Z 
2026-06-03T23:57:42.6955866Z ### REQ-HAZARD-DAEMON-SCHED-NONBLOCKING
2026-06-03T23:57:42.6956905Z - Title: Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents: each agent's bounded LLM call (echo-commune summarizer, Psyche turn) runs off the shared scheduler so one slow/hung call cannot stall another agent's tick (7.4)
2026-06-03T23:57:42.6957895Z - Required stages: 
2026-06-03T23:57:42.6958053Z 
2026-06-03T23:57:42.6958206Z ### REQ-HAZARD-PAIR-TRANSCRIPT-BIND
2026-06-03T23:57:42.6959233Z - Title: Pairing transcript binds roles, both node pubkeys, subnet ID, seed epoch, TOTP time-step, and confirmation MACs — or unknown-key-share/reflection/wrong-subnet/replay pairing remain possible (ADR-0005 #12)
2026-06-03T23:57:42.6960109Z - Required stages: impl, unit
2026-06-03T23:57:42.6960304Z 
2026-06-03T23:57:42.6960440Z ### REQ-HAZARD-PAIR-SEED-ROTATION
2026-06-03T23:57:42.6961285Z - Title: Removing a node rotates the subnet seed (epoch bump) so an old node/old seed cannot rejoin; trust-store delete alone is NOT revocation because the seed is replicated to every trusted node (ADR-0005 #10)
2026-06-03T23:57:42.6962255Z - Required stages: impl, unit
2026-06-03T23:57:42.6962447Z 
2026-06-03T23:57:42.6962591Z ### REQ-HAZARD-PAIR-RATE-LIMIT
2026-06-03T23:57:42.6963862Z - Title: Subnet-global pairing rate limit: one active ceremony per subnet, shared attempt counter, exponential backoff — a public pre-trust relay + multiple seed-holders otherwise enables distributed SPAKE2 guessing (and ±1 TOTP window triples the valid-password space) (ADR-0005 #11)
2026-06-03T23:57:42.6965038Z - Required stages: impl, unit
2026-06-03T23:57:42.6965235Z 
2026-06-03T23:57:42.6965353Z ## How to report back
2026-06-03T23:57:42.6965527Z 
2026-06-03T23:57:42.6965743Z For every (requirement, failing criterion) pair, emit one finding:
2026-06-03T23:57:42.6966035Z 
2026-06-03T23:57:42.6966147Z     {
2026-06-03T23:57:42.6966428Z       "code": "requirement_quality",
2026-06-03T23:57:42.6966752Z       "requirementId": "REQ-...",
2026-06-03T23:57:42.6967161Z       "criterion": "singular" | "verifiable" | "atomic" | "active-voice",
2026-06-03T23:57:42.6967612Z       "message": "<short reason>",
2026-06-03T23:57:42.6967961Z       "suggestedRevision": "<optional rewrite>"
2026-06-03T23:57:42.6968296Z     }
2026-06-03T23:57:42.6968428Z 
2026-06-03T23:57:42.6968668Z Wrap your response as { "findings": [ ... ] } listing only your concerns; the
2026-06-03T23:57:42.6969178Z deterministic findings above don't need to be repeated.
